//
//  ZJView.m
//  GestureDemo
//
//  Created by ZJ on 2018/8/6.
//  Copyright © 2018年 iCatch Technology Inc. All rights reserved.
//

#import "ZJView.h"

@implementation ZJView

// 点击这个 view 的时候调用
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    // 获取触摸对象
    UITouch *t = touches.anyObject;
    
    // 获取当前点的位置
    CGPoint p = [t locationInView:self.superview];
    
    // 让 view 的中心等于手指的位置（在父 view 中的位置）
    self.center = p;
}

// 手指在这个 View 上移动的时候调用
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    UITouch *t = touches.anyObject;
    
    CGPoint p = [t locationInView:self];
    
    // 获取上一个点的位置
    CGPoint lastP = [t previousLocationInView:self];
    
    // 计算偏移量
    CGFloat offsetX = p.x - lastP.x;
    CGFloat offsetY = p.y - lastP.y;
    
    // 让 View 的中心等于手指最新的位置
//    self.center = p;
    
    // 让 View 在自身的 center 的基础上加上偏移量
    self.center = CGPointMake(self.center.x + offsetX, self.center.y + offsetY);
}

@end
